home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 52
/
64er_Magazin_Sonderheft_52_19xx_Markt__Technik_de_Side_B.d64
/
listing 17
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
125 lines
0 rem *****************************
1 rem * adventure-programmierkurs *
2 rem * *
3 rem * uebungs-programm *
4 rem *****************************
9 rem basic-erweiterung
10 data76,24,1,177,251,145,251,200,208,249,230,252,202,208,244,96,120,160,0,169
12 data160,132,251,133,252,162,32,32,11,1,169,224,132,251,133,252,162,32,32,11
14 data1,169,53,133,1,88,96:fori=264to310:readx:pokei,x:next:sys264
16 fori=710to730:readx:pokei,x:next
18 data208,3,76,29,168,32,192,2,32,19,166,56,165,95,233,1,164,96,76,36,168
20 poke40996,197:poke40997,2:poke1,54
22 fori=43168to43170:readx:pokei,x:next
24 fori=704to709:readx:pokei,x:next
26 data32,192,2,32,138,173,76,247,183
30 gosub52000: rem tabellen deffinieren
100 zn=1:goto1130
1000 rem a c t i o n m o d u l
1010 gosub50000:rem befehlseingabemodul
1100 rem gehen in ein neues zimmer
1105 ifve<1orve>10then1200
1110 ifri(ve)=0thenprint"kein weg in diese richtung !":goto1200
1120 zn=ri(ve):print"[147]"
1130 gosub 10000+zn*100
1140 restore 10000+zn*100
1150 fori=1to10:readri(i):next
1160 print"moegliche richtungen : ";
1165 ic=0:fori=1to10:ifri(i)<>0thenprintve$(i);",";:ic=1
1170 nexti
1175 ific=0thenprint"keine."
1180 ific=1thenprintchr$(20)
1185 print"ich sehe : ";
1186 ic=0:fori=1tooz:ifoo(i)=znthenprintob$(i);",";:ic=1
1187 next
1188 fori=1togz:ifge(i)=znthenprintge$(i);",";:ic=1
1190 next
1192 ific=0thenprint"nichts besonderes."
1194 ific=1thenprintchr$(20)
1200 goto1000
10000 rem ------- spielkarte -------
10100 rem raum 1 ---------
10102 data 0,3,0,2,0,0,0,0,0,0
10105 print"raum nummer 1"
10120 return
10200 rem raum 2 ---------
10202 data 0,5,1,0,0,0,0,6,0,0
10205 print"raum nummer 2"
10220 return
10300 rem raum 3 ---------
10302 data 1,0,0,0,0,0,0,0,0,4
10305 print"raum nummer 3"
10320 return
10400 rem raum 4 ---------
10402 data 0,0,0,0,0,0,0,0,3,0
10405 print"raum nummer 4"
10420 return
10500 rem raum 5 ---------
10502 data 2,0,0,0,0,0,0,0,0,0
10505 print"raum nummer 5"
10520 return
10600 rem raum 6 ---------
10602 data 0,0,0,0,2,0,0,0,0,0
10605 print"raum nummer 6"
10620 return
50000 rem ****************************
50010 rem * befehlseingabe *
50020 rem * befehlszerlegung *
50030 rem * befehlscodierung *
50040 rem ****************************
50050 ifud=1then50220
50060 poke198,0:be$="":print"was nun ? ";
50070 poke204,0
50080 getx$:ifx$=""then50080
50090 ifpeek(203)=1orlen(be$)>68thenprint" ":poke204,1:goto50140
50100 i=asc(x$):ifi<65ori>90thenifi<>32andi<>20andi<>34then50080
50110 ifi=20andbe$=""then50080
50120 ifi=20thenpoke204,1:print"[157] [157][157]";:be$=left$(be$,len(be$)-1):goto50070
50130 printx$;:be$=be$+x$:goto50080
50140 fori=1to10:be$(i)="":next:wz=1:fori=1tolen(be$)
50150 :ifmid$(be$,i,1)=" "thengosub50190:goto50180
50160 :ifwz>10thenprint"eingabe ist zu lang !":i=len(be$)+1:goto50180
50170 :be$(wz)=be$(wz)+mid$(be$,i,1)
50180 nexti:goto50220
50190 ic=0:fori1=1toaz:ifbe$(wz)=au$(i1)thenic=1
50200 nexti1:ific=0thenwz=wz+1:return
50210 be$(wz)="":return
50220 ifud=1thenud=0:goto50240
50230 wz=1:ve=0:ob=0:pe=0
50240 ic=0:g1=0:g2=0
50250 fori=1tovz:ifbe$(wz)=ve$(i)thenve=i:ic=1
50251 iflen(be$(wz))<3then50260
50255 ifbe$(wz)=left$(ve$(i),len(be$(wz)))thenve=i-val(right$(ve$(i),1)):ic=1
50260 nexti:ific=1then50350
50270 fori=1togz:ifbe$(wz)<>ge$(i)then50300
50280 ic=1:ifg1=0theng1=i
50290 g2=i:ifg2=g1theng2=0
50300 nexti:ific=1then50350
50310 fori=1tooz:ifbe$(wz)=ob$(i)thenob=i:ic=1
50320 nexti:ific=1then50350
50330 fori=1topz:ifbe$(wz)=pe$(i)thenpe=i:ic=1
50340 nexti
50350 ifbe$(wz)="und"thenud=1:ic=1
50360 ific=0thenprint"ich kenne ";be$(wz);" nicht !":return
50370 wz=wz+1:ifwz>10orbe$(wz)=""orud=1thenreturn
50380 ic=0:goto50250
52000 rem t a b e l l e n
52005 restore52000
52010 rem verbtabelle ---------
52020 datan,s,w,o,nw,no,sw,so,rauf,runter
52100 vz=10:dimve$(vz):fori=1tovz:readve$(i):next
52200 rem gegenstandstabelle ---------
52210 dataschwert,1
52211 dataseil,2
52212 dataschluessel,4
52213 datadiamant,5
52300 gz=4:dimge$(4):dimge(4):fori=1togz:readge$(i):readge(i):nexti
52400 rem objekttabelle ---------
52410 datatruhe,5
52412 dataschacht,6
52414 dataeisenring,6
52416 datatuer,2
52418 datatuer,5
52500 oz=5:dimob$(oz):dimoo(oz):fori=1tooz:readob$(i):readoo(i):nexti
53000 return